MIME-Version: 1.0
Server: CERN/3.0
Date: Monday, 06-Jan-97 21:41:26 GMT
Content-Type: text/html
Content-Length: 6152
Last-Modified: Wednesday, 11-Dec-96 21:46:21 GMT

<!doctype html public "-//IETF//DTD HTML//EN//2.0">
<html>
<head>
<title>Yannis's Research</title>
</head>
<body bgcolor="#009966" link="#ffff00" vlink="#99ffff" text="#ffffff" background="back.gif">
<a name=Research></a>

<table  WIDTH=100% BORDER=0>
    <tr>

      <td width=70% height=58 colspan=6 rowspan=1 valign=top align=left>
<p align=left><font face="Times New Roman" size=5><B>Research Interests</p></B></font>
<p align=left><font face="Times New Roman" size=3>I am interested in several topics from the general areas of programming languages, software components and transformation systems.</p></font>

<p align=left><font face="Times New Roman" size=3>
My main research interests lie in the field of meta-programming. Meta-programming 
is the activity of creating programs that (re-)write other programs (or even 
themselves). I find both the theoretical and the practical aspects of meta-
programming particularly fascinating. My belief is that with the right support tools 
meta-programming can not only become a realistic programming technique but also significantly
help the software design process.
</p></font>

      </td>

       <td width=204 height=172 colspan=5 rowspan=3 valign=top align=left>
        <!WA0><!WA0><img width=204 height=172 border=0 src="http://www.cs.utexas.edu/users/smaragd/img4.gif" usemap="#map335">
        <map name="map335">
          <area shape="rect" coords="7,0,75,50" href="index.html">
          <area shape="rect" coords="7,60,75,110" href="photo.html">
          <area shape="rect" coords="7,117,73,169" href="links.html">
          <area shape="rect" coords="5,117,204,170" href="links.html">
          <area shape="rect" coords="5,58,204,111" href="photo.html">
          <area shape="rect" coords="5,0,204,52" href="index.html">
        </map>
      </td>
    </tr>
  </table>


<p align=center><center><font face="Times New Roman" size=4><B>Research Work</center></p></B></font>
<p align=left><font face="Times New Roman" size=3>
I am a member of the <!WA1><!WA1><a href="http://www.cs.utexas.edu/users/schwartz/">Software Systems Generator </a>  Research Group at UT, working under the supervision of <!WA2><!WA2><a href="http://www.cs.utexas.edu/users/dsb">Don Batory</a>. The group's work concerns software system generators: tools for assembling complex software from interchangeable, reusable components.</p></font>

<p align=center><center><font face="Times New Roman" size=4><B>Current Projects</center></p></B></font>
<p align=left><font face="Times New Roman" size=3>My current work focuses on both meta-programming applications and language support (in essence, generators and tools to construct them). Support for this project has been provided by <!WA3><!WA3><a href="http://www.research.microsoft.com">Microsoft Research</a>. Additionally, during the past two summers I've worked for the <!WA4><!WA4><a href="http://www.research.microsoft.com/research/ip/">Intentional Programming</a> (IP) group of <!WA5><!WA5><a href="http://www.research.microsoft.com">MSR</a>. As part of this work I designed and implemented <i>code template operators</i> for IP.</p></font>

<p align=left><font face="Times New Roman" size=3><B>Meta-programming Language Support</p></B></font>
<p align=left><font face="Times New Roman" size=3>The best known example of language support for meta-programming are the <i>backquote </i>and <i>comma</i> operators of LISP and its variants. Various techniques have been used (for instance, hygienic macro-expansion) to facilitate writing programs that manipulate code fragments. Unfortunately, such techniques are oriented towards small-scale program rewrites that are fairly local (hygienic macro-expansion is in fact based on generating related code fragments in a single step). My work is mainly on tools to help manipulate code fragments generated and altered by many distinct program components acting at different time instances. These tools have been heavily used in the implementation of the DiSTiL application generator (see below).</p></font>

<p align=left><font face="Times New Roman" size=3><B>Meta-programming Applications</p></B></font>
<p align=left><font face="Times New Roman" size=3>For the past year I've been working on DiSTiL: a software generator for data structures. The goal of DiSTiL is to increase productivity by enabling programming
in high-level data structures primitives. DiSTiL programs are automatically
checked for consistency and transformed into efficient code. DiSTiL is packaged
as a library for the Intentional Programming system. The library structure is highly factored with a large
number of orthogonal abstract components. These can be composed in a variety of
ways to form a wide range of concrete data structures.</p></font>

<p align=left><font face="Times New Roman" size=3>DiSTiL has been demonstrated in the 4th ICSR (International Conference on Software Reuse) and the <!WA6><!WA6><a href="http://www.research.microsoft.com/research/ip/tedb/page6.html">Component-Based Software Development Workshop</a> organized by Microsoft this summer. The accompanying presentation can be found <!WA7><!WA7><a href="http://www.cs.utexas.edu/users/smaragd/distil2/index.htm">here</a> in HTML format. The presentation is also available in Powerpoint format from the <!WA8><!WA8><a href="http://www.research.microsoft.com/research/ip/tedb/workshop/presentations/yannis/distil2.ppt">workshop page</a>.</p></font>

<p align=left><font face="Times New Roman" size=3><B>All <!WA9><!WA9><a href="mailto:smaragd@cs.utexas.edu">feedback</a> is welcome.</p></B></font>

<p align=center><center><font face="Times New Roman" size=3><B><!WA10><!WA10><a href="http://www.cs.utexas.edu/users/smaragd/index.html">Home Page</a></font><font face="Times New Roman" size=3>&nbsp;  &#124;&nbsp;  <!WA11><!WA11><a href="http://www.cs.utexas.edu/users/smaragd/photo.html">Photo Album</a></font><font face="Times New Roman" size=3>&nbsp;  &#124;&nbsp;  <!WA12><!WA12><a href="http://www.cs.utexas.edu/users/smaragd/links.html">Favorite Sites</a></center></p></B></font>

<!WA13><!WA13><img width=199 height=53 border=0 src="http://www.cs.utexas.edu/users/smaragd/img3.gif" usemap="#map331">
<map name="map331">
  <area shape="rect" coords="3,2,75,51" href="mailto:smaragd@cs.utexas.edu">
  <area shape="rect" coords="0,0,199,52" href="mailto:smaragd@cs.utexas.edu">
</map>

<p align=center><center><font face="Times New Roman" color=#000000 size=3><B><!WA14><!WA14><a href="mailto:smaragd@cs.utexas.edu">smaragd@cs.utexas.edu</a></center></p></B></font>

</body>
</html>



